#ifndef SERIALPORT_H
#define SERIALPORT_H

#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <iostream>
#include<string.h>

using namespace std;


#define TRUE 1
#define FALSE 0

//串口的相关参数
#define BAUDRATE 115200//波特率
#define UART_DEVICE "/dev/ttyUSB0"//默认的串口名称

//C_lflag
#define ECHOFLAGS (ECHO | ECHOE | ECHOK | ECHONL)



//用于保存目标相关角度和距离信息
typedef struct
{
    float yaw_angle;
    float pitch_angle;

} VisionData;


class SerialPort
{
private:
    int fd; //串口号
    char mode_data[5];//get mode data
    uint8_t Tdata[20];  //transfrom data

	int set_Brate();
	int set_Bit();
public:
    SerialPort();
    int open_port();
    bool initSerialPort();
    int get_Mode();
	void TransformData(const VisionData &data); 
	void send();
	void closePort();
};

#endif //SERIALPORT_H
